package br.upe.portlet.estagio.service.persistence;

import com.liferay.portal.PortalException;
import com.liferay.portal.SystemException;
import com.liferay.portal.kernel.annotation.Propagation;
import com.liferay.portal.kernel.annotation.Transactional;
import com.liferay.portal.service.persistence.BasePersistence;


@Transactional(rollbackFor =  {
    PortalException.class, SystemException.class}
)
public interface SolicitacaoEstagioPersistence extends BasePersistence {
    public br.upe.portlet.estagio.model.SolicitacaoEstagio create(long codigo);

    public br.upe.portlet.estagio.model.SolicitacaoEstagio remove(long codigo)
        throws br.upe.portlet.estagio.NoSuchSolicitacaoEstagioException,
            com.liferay.portal.SystemException;

    public br.upe.portlet.estagio.model.SolicitacaoEstagio remove(
        br.upe.portlet.estagio.model.SolicitacaoEstagio solicitacaoEstagio)
        throws com.liferay.portal.SystemException;

    /**
     * @deprecated Use <code>update(SolicitacaoEstagio solicitacaoEstagio, boolean merge)</code>.
     */
    public br.upe.portlet.estagio.model.SolicitacaoEstagio update(
        br.upe.portlet.estagio.model.SolicitacaoEstagio solicitacaoEstagio)
        throws com.liferay.portal.SystemException;

    /**
     * Add, update, or merge, the entity. This method also calls the model
     * listeners to trigger the proper events associated with adding, deleting,
     * or updating an entity.
     *
     * @param                solicitacaoEstagio the entity to add, update, or merge
     * @param                merge boolean value for whether to merge the entity. The
     *                                default value is false. Setting merge to true is more
     *                                expensive and should only be true when solicitacaoEstagio is
     *                                transient. See LEP-5473 for a detailed discussion of this
     *                                method.
     * @return                true if the portlet can be displayed via Ajax
     */
    public br.upe.portlet.estagio.model.SolicitacaoEstagio update(
        br.upe.portlet.estagio.model.SolicitacaoEstagio solicitacaoEstagio,
        boolean merge) throws com.liferay.portal.SystemException;

    public br.upe.portlet.estagio.model.SolicitacaoEstagio updateImpl(
        br.upe.portlet.estagio.model.SolicitacaoEstagio solicitacaoEstagio,
        boolean merge) throws com.liferay.portal.SystemException;

    @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
    public br.upe.portlet.estagio.model.SolicitacaoEstagio findByPrimaryKey(
        long codigo)
        throws br.upe.portlet.estagio.NoSuchSolicitacaoEstagioException,
            com.liferay.portal.SystemException;

    public br.upe.portlet.estagio.model.SolicitacaoEstagio fetchByPrimaryKey(
        long codigo) throws com.liferay.portal.SystemException;

    @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
    public java.util.List<Object> findWithDynamicQuery(
        com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery)
        throws com.liferay.portal.SystemException;

    @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
    public java.util.List<Object> findWithDynamicQuery(
        com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery, int start,
        int end) throws com.liferay.portal.SystemException;

    @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
    public java.util.List<br.upe.portlet.estagio.model.SolicitacaoEstagio> findAll()
        throws com.liferay.portal.SystemException;

    @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
    public java.util.List<br.upe.portlet.estagio.model.SolicitacaoEstagio> findAll(
        int start, int end) throws com.liferay.portal.SystemException;

    @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
    public java.util.List<br.upe.portlet.estagio.model.SolicitacaoEstagio> findAll(
        int start, int end, com.liferay.portal.kernel.util.OrderByComparator obc)
        throws com.liferay.portal.SystemException;

    public void removeAll() throws com.liferay.portal.SystemException;

    @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
    public int countAll() throws com.liferay.portal.SystemException;
}
